The World Wide Web has expanded to provide numerous web services to consumers. The web services may be provided by a web application which uses multiple services and applications to handle a transaction. The applications may be distributed over several machines, making the topology of the machines that provide the service more difficult to track and monitor.
Monitoring a web application helps to provide insight regarding bottle necks in communication, communication failures and other information regarding performance of the services that provide the web application. Monitoring a web application may include monitoring log lines produced by one or more applications that provide a web application. Typically, extremely large quantities of log lines are generated by log managers of applications, for example in the range of terabytes per day. As such, it can be very difficult if not impossible to manually review and analyze such a large number of log lines.
One method for retrieving data from log lines is by use of a regular expression. A regular expression is a sequence of characters that define a search pattern, for example for use in pattern matching with strings. A regular expression, or “regex,” can be very difficult to read by human operators, and may be even more difficult to generate by a human operator. Generating a regular expression typically takes many hours for actual data.